GtkTextHandlePosition pos);
static void
-_gtk_text_handle_get_size (GtkTextHandle *handle,
- gint *width,
- gint *height)
+_gtk_text_handle_get_size (GtkTextHandle *handle,
+ GtkTextHandlePosition pos,
+ gint *width,
+ gint *height)
{
- GtkTextHandlePrivate *priv;
- gint w, h;
+ GtkTextHandlePrivate *priv = handle->priv;
+ GtkWidget *widget = priv->windows[pos].widget;
+ GtkStyleContext *context;
- priv = handle->priv;
+ context = gtk_widget_get_style_context (widget);
+
+ gtk_style_context_get (context,
+ gtk_style_context_get_state (context),
+ "min-width",
+ width, NULL);
- gtk_widget_style_get (priv->parent,
- "text-handle-width", &w,
- "text-handle-height", &h,
- NULL);
- if (width)
- *width = w;
- if (height)
- *height = h;
+ gtk_style_context_get (context,
+ gtk_style_context_get_state (context),
+ "min-height",
+ height, NULL);
}
static void
handle_window = &priv->windows[pos];
context = gtk_widget_get_style_context (handle_window->widget);
- _gtk_text_handle_get_size (handle, &width, &height);
+ _gtk_text_handle_get_size (handle, pos, &width, &height);
cairo_save (cr);
cairo_translate (cr, handle_window->border.left, handle_window->border.top);
window = gtk_widget_get_parent (priv->windows[pos].widget);
gtk_widget_get_allocation (priv->windows[pos].widget, &allocation);
- _gtk_text_handle_get_size (handle, &handle_width, &handle_height);
+ _gtk_text_handle_get_size (handle, pos, &handle_width, &handle_height);
_gtk_window_get_popover_position (GTK_WINDOW (window),
priv->windows[pos].widget,
gint w, h;
_gtk_text_handle_ensure_widget (handle, pos);
- _gtk_text_handle_get_size (handle, &width, &height);
+ _gtk_text_handle_get_size (handle, pos, &width, &height);
border->top = height;
border->bottom = height;